Remote monitoring and control of systems and processes have taken many forms. In the past, dedicated lines became the most common forms of communication between a control system and a remote location. This has limited application since the control system was not accessible from multiple locations. Modems have made it possible to access the control system from different locations, but these types of systems are generally restricted to downloading and uploading data files. Providing any type of control function between locations is rather limited in this type of environment. Further, an end user generally requires a customized interface to access the control system.
With the growth of the Internet, and its World Wide Web providing a delivery platform for organizing Internet data through hypertext links, a client server system can be designed that will provide each end user the same type of a user friendly interface with the same universal access to services on the Web. The Web is a network of documents called sites or pages stored on server computers throughout the world. Each page will usually contain text, some type of multimedia offerings such as graphic images, video, or audio, and possible hypertext links to other documents. A browser allows a user to view the pages and interact with the choices associated with it. The browser is a graphical software program that sends commands to the Internet Web site and displays whatever information is available on the page. Various browser programs are commercially available from different manufacturers.
The Internet network employs methods designed to handle thousands of general purpose computers sharing a single cable and therefore has no ability to differentiate traffic in terms of its purpose or the criticality of its data. The Internet is no longer a network of computers sharing a single cable, but rather a web of interconnected point to point links involving both general purpose stations and specialized infrastructure components such as routers and firewalls.
The type of network device used by the end user to connect to the Web is of no regard, i.e., personal computer, work station, PDA, cell phone, etc. Communication over the Internet and other networks requires one of several types of protocols. Protocols such as Internet Protocol (IP) provide for file transfers, electronic mail, and other services. A Sun Microsystem programming language known as Java, along with Hypertext Markup Language (HTML) used in designing layouts and graphics for a Web site or page have extended Internet technology such that a web site can be used for dynamic applications, commonly called applets, that can be downloaded and run by the end user. These applets are interpreted and run within a Web browser and have been generally restricted to word processing and similar uses. Downloading and running applets can be slow in comparison to other types of compiled languages. Security rules imposed on a browser and enforced by the underlying Java language prevent applets from obtaining certain data from any other device other than the Web server itself.
Factory automation devices such as programmable logic controllers (PLCs) and IO modules are widely used in industry and process control. Many manufacturers provide factory automation information using Microsoft Windows and other types of communication networking environments. These networks are usually slow, are not universally accessible and are limited to monitoring and data exchange. Control may be implemented, but since the communication networks are non-deterministic, control is not real time. Specialized industrial networks using proprietary fieldbus alternatives can be very expensive. Conversion products are required to allow information carried over those networks to be visible on a general purpose network. There are significant installation and other deployment costs associated with the existence of such intermediate devices. Firewalls between the Web server and the application are designed to solve problems of security and are not designed for high performance.
Programming a factory automation device, such as a programmable logic controller (PLC), in these environments has many shortcomings. With a variety of PLCs available in an integrated control system, making changes or updates may be difficult and expensive. The program package uses valuable memory within the PLC that can be more effectively utilized in other areas. Sharing of PLC resources to create and edit programs run on the PLC can diminish the PLC's capability and utility.
It would be desirable to develop an automation control system whereby a user could use general, commercial networks such as the Internet, in place of specialized industrial networks to remotely edit new and existing factory automation control devices such as PLCs.